package com.zzh.zzhaiagent.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zzh.zzhaiagent.domain.dto.UserEmailAuthDTO;
import com.zzh.zzhaiagent.domain.dto.UserProfilesLoginDTO;
import com.zzh.zzhaiagent.domain.dto.UserProfilesUpdateDTO;
import com.zzh.zzhaiagent.domain.entity.UserProfiles;
import com.zzh.zzhaiagent.domain.vo.UserLoginTokenVO;
import com.zzh.zzhaiagent.domain.vo.UserProfilesVO;
import com.zzh.zzhaiagent.utils.ResultUtils;
import jakarta.servlet.http.HttpServletRequest;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zzh
 * @since 2025-05-07
 */
public interface IUserProfilesService extends IService<UserProfiles> {

    ///实现用户邮箱登录
    UserLoginTokenVO loginEmail(UserProfilesLoginDTO userProfilesLoginDTO);

    //实现用户手机号登录
    UserLoginTokenVO loginPhone(UserProfilesLoginDTO userProfilesLoginDTO);

    //实现用户账户密码登录
    UserLoginTokenVO loginPassword(UserProfilesLoginDTO userProfilesLoginDTO);

    //获取用户信息
    UserProfilesVO getUserInfo(HttpServletRequest request);

    //修改用户密码
    String updatePassword(String password,HttpServletRequest request);

    //刷新token
    UserLoginTokenVO refreshToken(String uuid);

    //修改用户信息
    String updateInfo(UserProfilesUpdateDTO userProfilesVO, HttpServletRequest request);

    //邮箱认证用户信息
    ResultUtils emailAuth(UserEmailAuthDTO userEmailAuthDTO);

}
